A Tutorial on Specifying Data Structures in Maude
نویسندگان
چکیده
This tutorial describes the equational specification of a series of typical data structures in Maude. We start with the well-known stacks, queues, and lists, to continue with binary and search trees. Not only are the simple versions considered but also advanced ones such as AVL and 2-3-4 trees. The operator attributes available in Maude allow the specification of data based on constructors that satisfy some equational properties, like concatenation of lists which is associative and has the empty list as identity, as opposed to the free constructors available in other functional programming languages. Moreover, the expressive version of equational logic in which Maude is based, namely membership equational logic, allows the faithful specification of types whose data are defined not only by means of constructors, but also by the satisfaction of additional properties, like sorted lists or search trees. In the second part of the paper we describe the use of an inductive theorem prover, the ITP, which itself is developed and integrated in Maude by means of the powerful metalevel and metalanguage features offered by the latter, to prove properties of the data structures. This is work in progress because the ITP is still under development and, as soon as the data gets a bit complex, the proof of their properties gets even more complex.
منابع مشابه
Introducing the ITP Tool: a Tutorial
We present a tutorial of the ITP tool, a rewriting-based theorem prover that can be used to prove inductive properties of membership equational specifications. We also introduce membership equational logic as a formal language particularly adequate for specifying and verifying semantic data structures, such as ordered lists, binary search trees, priority queues, and powerlists. The ITP tool is ...
متن کاملMaude ITP 2.0 Tutorial
The present tutorial describes the main features, commands, and proof techniques supported by the Maude ITP 2.0 inductive theorem
متن کاملThe Maude LTL LBMC Tool Tutorial
A concurrent system can be naturally specified as a rewrite theory. The Maude LTL logical bounded model checker (LBMC) tool is an LTL model checker for a rewrite theory, which can verify infinitestate systems using narrowing and folding relations, where the system’s initial states are represented by terms with logical variables. This tutorial describes the main features and commands of the Maud...
متن کاملTermination of Context-Sensitive Rewriting with Built-In Numbers and Collection Data Structures
Context-sensitive rewriting is a restriction of rewriting that can be used to elegantly model declarative specification and programming languages such as Maude. Furthermore, it can be used to model lazy evaluation in functional languages such as Haskell. Building upon previous work on constrained equational rewrite systems (CERSs), an expressive and elegant class of rewrite systems that contain...
متن کاملA tutorial on Quasi-experimental designs
A main step in answering a scientific hypothesis in an epidemiological study is deciding which type of study is suitable to be undertaken, considering methodology, practical considerations and budget and time limitations
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Electr. Notes Theor. Comput. Sci.
دوره 137 شماره
صفحات -
تاریخ انتشار 2005